package 简单;

/*
*  力扣地址：https://leetcode-cn.com/problems/valid-mountain-array/
*  有效的山脉数组
*
* 给定一个整数数组 A，如果它是有效的山脉数组就返回 true，否则返回 false。
*  让我们回顾一下，如果 A 满足下述条件，那么它是一个山脉数组：
*    A.length >= 3
*    在 0 < i < A.length - 1 条件下，存在 i 使得：
*        A[0] < A[1] < ... A[i-1] < A[i]
*        A[i] > A[i+1] > ... > A[A.length - 1]
*
* 思路：寻找上升区间，当到达顶点时转换，开始选择下降区间
* 需要注意的情况：会有一直上升或一直下降的情况，通过if判断解决
* if (t == A.length-1 || t==0)
* */

public class demo941 {

    public static void main(String[] args) {

//        int[] a = {9,8,7,6,5,4,3,2,1,0};
//        int[] a = {0,1,2,3,4,5,6};
        int[] a = {0,1,2,3,4,5,6,2,1,0};

        System.out.println(validMountainArray(a));

    }

    public static boolean validMountainArray(int[] A) {

        if (A.length < 3)
            return false;

        int t = 0;

        for (int i=1;i<A.length;i++){

            if (A[i] <= A [i-1])
                break;
            t++;

        }

        //一直上升或一直下降的情况 就返回 false
        if (t == A.length-1 || t==0)
            return false;

        for (int i=t;i<A.length-1;i++){

            if (A[i] <= A [i+1])
                break;

            t++;

        }

        if (t == A.length -1)
            return true;
        else
            return false;

    }
}
